package br.com.unip.menudroid;

import java.util.ArrayList;
import android.app.ListActivity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.AsyncTask;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
import br.com.unip.menudroid.model.GrupoProduto;
import br.com.unip.menudroid.model.Produto;
import br.com.unip.menudroid.webservice.ProdutoRest;

public class ListaGrupoProduto extends ListActivity {
	ArrayList<GrupoProduto> listaGrupoProduto = new ArrayList<GrupoProduto>();
	
	@SuppressWarnings("unchecked")
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);		

		if (getIntent().hasExtra("lista")) {
			listaGrupoProduto = (ArrayList<GrupoProduto>) getIntent().getExtras().getSerializable("lista");
		}

		setListAdapter(new ArrayAdapter<GrupoProduto>(this, R.layout.list_item,listaGrupoProduto));

		ListView lv = getListView();
		lv.setTextFilterEnabled(true);

		lv.setOnItemClickListener(new OnItemClickListener() {
			public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
				ProdutoTask pTask = new ProdutoTask();
				try {
					pTask.execute(listaGrupoProduto.get(position).getIdGrupoProduto());
				} catch (Exception e) {
					e.printStackTrace();	
					gerarToast(e.getMessage());
				}
			}
		});
	}
	
	public class ProdutoTask extends AsyncTask<Integer, Void, Void> {

		@Override
		protected Void doInBackground(Integer... params) {
			SharedPreferences config = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
			String Endereco_WS = config.getString("Endereco_WS","http://192.168.0.11:8080/menuDroidWeb/ws/");
			String id = String.valueOf(params[0]);
			
							
			ProdutoRest ProdRest = new ProdutoRest();
			ArrayList<Produto> listaProduto;
			try {
				listaProduto = (ArrayList<Produto>) ProdRest.getListaProdutoGrupo(Endereco_WS, id);
				Intent i = new Intent(getApplicationContext(),
						ListaProduto.class);
				i.putExtra("listaProduto", listaProduto);
				startActivity(i);
			} catch (Exception e) {
				e.printStackTrace();	
				gerarToast(e.getMessage());
			}

			return null;
		}
	}
	
	private void gerarToast(CharSequence message) {
		int duration = Toast.LENGTH_LONG;
		Toast toast = Toast
				.makeText(getApplicationContext(), message, duration);
		toast.show();
	}
}
